feat: logical equivalence for modal logic#535
Merged
Merged
Conversation
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
thomaskwaring
left a comment
Collaborator
There was a problem hiding this comment.
some minor comments but lgtm on the whole!
Collaborator
Author
|
Thanks, @thomaskwaring. All done! |
chenson2018
requested changes
Jun 1, 2026
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
chenson2018
approved these changes
Jun 10, 2026
chenson2018
left a comment
Collaborator
There was a problem hiding this comment.
Two comments below about notation lemmas that need to be extracted, but I'm going to go ahead and approve so you're not waiting on me.
Collaborator
Author
|
@chenson2018 I've extracted the lemmas, but I do wonder about the direction we state these |
benbrastmckie
pushed a commit
to benbrastmckie/cslib
that referenced
this pull request
Jun 12, 2026
Adds logical equivalence for modal logic, proving that it is a `Congruence` (for any modal logic, regardless of the class of models considered) and a `LogicalEquivalence` (for logic K, i.e., when considering the class of all models). The PR also renames `Proposition.neg` to `Proposition.not` and adds a useful lemma on `Proposition.iff`. Depends on leanprover#528. --------- Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
benbrastmckie
added a commit
to benbrastmckie/cslib
that referenced
this pull request
Jun 15, 2026
Diplomatic PR description for Modal/ formula primitives refactoring, stacking on PR leanprover#648. Coordinates with PRs leanprover#607, leanprover#528, leanprover#535, leanprover#649. Session: sess_1781535860_c7d8e9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds logical equivalence for modal logic, proving that it is a
Congruence(for any modal logic, regardless of the class of models considered) and aLogicalEquivalence(for logic K, i.e., when considering the class of all models).The PR also renames
Proposition.negtoProposition.notand adds a useful lemma onProposition.iff.Depends on #528.